资源字典是指向资源的资源 ID 的集合。您可以为任意节点添加资源字典。默认情况下,以下节点包含资源字典:
节点可以访问其自己的资源字典以及子孙节点中定义的资源字典中的所有资源 ID。您可以将资源 ID 作为资源属性的值进行分配,并且它们显示在 Kanzi Studio 中,语法 ResourceID → Resource。
您可以将资源本地化为任何节点。向节点范围添加资源,即可向该节点的资源字典添加资源 ID 条目。资源 ID 是从使用位置抽象资源的标识符。
要向某个节点添加资源字典,在 工程 (Project) 中按下 Alt 并右键点击某个节点并选择 资源字典 (Resource Dictionary)。
要查看资源字典的内容:
要查看并激活地区和主题,在 字典 (Dictionaries) 中点击 地区和主题 (Locales and Themes) 以启用本地化表和主题组的查看,并且对于各本地化表和主题组,选择您希望在 预览 (Preview) 中显示的地区和主题。
向资源字典添加资源:
您可以使用 kzb URL 指向另一个 Kanzi Studio 工程中的资源。
要将 kzb URL 用于资源字典中的资源:
要创建资源字典:
//创建资源字典。 ResourceDictionarySharedPtr dictionary = ResourceDictionary::create(domain, "Dictionary");
要向资源字典添加内容:
// 添加资源到资源字典。 dictionary->add(ResourceID("red icon"), texture); dictionary->add(ResourceID("blue icon"), "kzb://my_project/Textures/Blue Icon");
要从资源字典获得资源:
// 从资源字典获得资源。 ResourceSharedPtr redIcon = dictionary->acquire(ResourceID("red icon")); ResourceSharedPtr blueIcon = dictionary->acquire(ResourceID("blue icon"));
要更改节点的资源字典:
// 更改节点的资源字典。 node->setResourceDictionary(dictionary);
要扩展节点的现有资源字典:
// 用嵌套资源字典扩展节点的现有资源字典。 node->addResourceDictionary(dictionary);
有关详细信息,请参阅 API reference中的 ResourceDictionary
类。